package br.com.educa.tarefas;

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;

import javax.persistence.TypedQuery;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import br.com.educa.modelo.academico.Alunos;
import br.com.educa.modelo.academico.AlunosTurmas;
import br.com.educa.modelo.academico.Turmas;
import br.com.educa.modelo.disciplinar.Elogios;
import br.com.educa.modelo.disciplinar.Punicoes;

@Service
public class TarefasAgendadas {
	
	@Autowired
	ApplicationContext appContext;
	
	@Scheduled(cron="50 01 10 * * ?")
	//@Scheduled(fixedDelay=60000)
	@Transactional(readOnly=true)
	public void acoesSistema() {
//        //Lançamento de elogio individual
//		Calendar cal = GregorianCalendar.getInstance();  
//        Integer ano = cal.get(Calendar.YEAR);
//        List<AlunosTurmas> alunoTurma = AlunosTurmas.findAlunosTurmasesByAnoEquals(ano).getResultList();
//        for(int x=0; x<alunoTurma.size(); x++){
//        	System.out.println("Aluno  : "+(x+1)+" do ano de "+ano);
//        	System.out.println("------------------------------------------------------------------");
//			System.out.println("Aluno  : "+alunoTurma.get(x).getAluno().getPessoaAluno().getNome());
//			System.out.println("Mãe    : "+alunoTurma.get(x).getAluno().getPessoaAluno().getMae());
//			System.out.println("Turma  : "+alunoTurma.get(x).getTurma().getTurma()+" - "+alunoTurma.get(x).getTurma().getTurno());
//			List<Punicoes> punicao = alunoTurma.get(x).getAluno().getPunicoes();
//			System.out.println("PUNIÇÕES");
//			for(int p=0; p<punicao.size(); p++){
//				System.out.println("------------------------------------------------------------------");
//				System.out.println("           Código da Punição : "+punicao.get(p).getId());
//				System.out.println("           Data Retistro     : "+punicao.get(p).getDataRegistro());
//				System.out.println("           Tipo Punição      : "+punicao.get(p).getPunicaoTipo().getPunicao());
//				System.out.println("           Descrição         : "+punicao.get(p).getDescricao());
//				System.out.println("           Valor             : "+punicao.get(p).getPunicaoTipo().getValor());
//				System.out.println("------------------------------------------------------------------");
//			}
//			List<Elogios> elogio = alunoTurma.get(x).getAluno().getElogios();
//			System.out.println("ELOGIOS");
//			for(int e=0; e<elogio.size(); e++){
//				System.out.println("------------------------------------------------------------------");
//				System.out.println("           Código do Elogio  : "+elogio.get(e).getId());
//				System.out.println("           Data Retistro     : "+elogio.get(e).getDataRegistro());
//				System.out.println("           Tipo Elogio       : "+elogio.get(e).getElogioTipo().getElogio());
//				System.out.println("           Descrição         : "+elogio.get(e).getDescricao());
//				System.out.println("           Valor             : "+elogio.get(e).getElogioTipo().getValor());
//				System.out.println("------------------------------------------------------------------");
//			}			
//			System.out.println("------------------------------------------------------------------");
//        }
	}

}
